﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using KPWeb.Class;
using KPWeb.Data;


namespace KPWeb.Slowniki
{
    public partial class TypyUprawnien : KPPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                this.WykazSortowan.SelectedValue = "ID";
             
                this.ListView1.DataBind();
            }
        }
          

        static public IEnumerable<vLex_TypUprawnien> PobierzTypyUprawnien(string sortuj)
        {
            using (DBContainer db = new DBContainer())
            {
                try
                {
                    switch (sortuj)
                    {
                        case "ID":
                            return (db.vLex_TypUprawnien.OrderBy(a => a.TypUprawnienID).ToArray());
                        case "kod":
                            return (db.vLex_TypUprawnien.OrderBy(a => a.KodUprawnien).ToArray());
                        case "nazwa":
                            return (db.vLex_TypUprawnien.OrderBy(a => a.NazwaUprawnien).ToArray());
                        default:
                            return (null);

                    }

                }
                catch
                {
                    return (null);
                }
            }
        }


        static public int PobierzGrupaIDDlaUprawnien(string uprawnienia)
        {
            using (DBContainer db = new DBContainer())
            {
                return (db.vLex_TypUprawnien.Where(a=>a.KodUprawnien == uprawnienia).Single().TypUprawnienID);
            }
        }

        static public int GetGrupaDlaOsobaID(int osobaID, string uprawnienia)
        {
           using (DBContainer db = new DBContainer())
            {

                if (uprawnienia == Stale.uprZarzad || uprawnienia == Stale.uprKoordynator || uprawnienia == Stale.uprGlosowania)
                {
                string uprawnieniaTemp="";
                uprawnieniaTemp= (db.vKP_Uprawnienia.Where(a => a.OsobaID == osobaID && a.Uprawnienia == uprawnienia).Single().Uprawnienia);
                return(uprawnieniaTemp==""?0:PobierzGrupaIDDlaUprawnien(uprawnieniaTemp));
                }
                else
                {
                    return(db.vKP_Osoby.Where(a => a.OsobaID == osobaID).Single().GrupaID);
                }
            }
            

        }
    }
}